x86, hvm: Better MTRR type check.
authorKeir Fraser <keir.fraser@citrix.com>
Thu, 6 Nov 2008 11:50:21 +0000 (11:50 +0000)
committerKeir Fraser <keir.fraser@citrix.com>
Thu, 6 Nov 2008 11:50:21 +0000 (11:50 +0000)
From: Disheng Su <disheng.su@intel.com>
Signed-off-by: Keir Fraser <keir.fraser@citrix.com>
xen/arch/x86/hvm/mtrr.c

index 7344576f16dcbea771ce0101abf2d13aa85505f5..d6692d2b3dc8af9de388299f438d6e1037d49f39 100644 (file)
@@ -392,7 +392,10 @@ uint32_t get_pat_flags(struct vcpu *v,
      */
     if ( pat_entry_value == INVALID_MEM_TYPE )
     {
-        if (mfn_valid(paddr_to_pfn(spaddr)))
+        struct domain *d = v->domain;
+        p2m_type_t p2mt;
+        gfn_to_mfn(d, paddr_to_pfn(gpaddr), &p2mt);
+        if (p2m_is_ram(p2mt))
             gdprintk(XENLOG_WARNING,
                     "Conflict occurs for a given guest l1e flags:%x "
                     "at %"PRIx64" (the effective mm type:%d), "